#ifndef DATABASE_H
#define DATABASE_H
#include <QtSql>
#include <QtWidgets>
#include <QDateTime>
#include <QMessageBox>
#include <QDebug>
#include <QProcess>
class DataBase:public QWidget
{
    Q_OBJECT
public:
    DataBase();
    DataBase(QString name,QString pwd);
    //获取各表的元组数量
    int CardCount();
    int BorrowCount();
    int BooksCount();
    int CategoryCount();
    int BorrowCountPro(QString cardid);

    //获取当前时间，验证登录密码,数据库备份
    int loginCheck(QString username,QString password);
    void dateBackups();
    void restoreDatabase();

    //图书插入，删除，更新
    void libInsert(QString b_isbn,QString b_cate,QString b_author,QString b_title);
    void libDelete(QString b_isbn);
    void libUpdate(QString b_isbn,QString title,QString name,QString category);

    //借书，还书
    void bookBorrow(QString c_cardid,QString b_isbn);
    void returnBook(QString b_cardid,QString b_isbn);
    //逾期还书(管理员)
    void overDue(QString b_cardid,QString b_isbn);

    //借记卡办理
    void cardHandle(QString name,QString cardid,QString password,QString phone);
    QVector<QVector<QString>> libQuery(QString name,QString cate,QString isbn,QString author);

//里面的函数都是辅助函数，不作接口调用
private:
    QSqlDatabase db;

    QString getCurrentTime();
    void borrowInsert(QString b_date,QString b_cardid,QString b_isbn);
    void borrowUpdate(QString b_cardid,QString b_isbn);
};

#endif // DATABASE_H
